home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1994 / MacHack 1994.toast / MacHack™ 1987-1994 / MacHack™ '92 / Hacks ’92 / Savvy ƒ / Savvy.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-19  |  2.8 KB  |  101 lines  |  [TEXT/MPS ]

  1. /* @(#) Savvy.h 6/19/92
  2.     {Sources}Hack:Savvy.h
  3.  
  4.     No rights reserved
  5.     
  6.     Product:        Joel’s MacHack ’92 entry
  7.     File:            Savvy.c
  8.     Author:            Joel West, Palomar Software
  9.     Date:            Wed, Jun 17, 1992
  10. */
  11.  
  12. #define qUseIconSuite                        // ref TN #306
  13.  
  14. #define kICNN_DoSavvy    1000
  15. #define kICNN_Unsavvy    1001
  16.  
  17. #define kICNN_24bitclean    150
  18. #define kICNN_32bitclean    151
  19. #define kICNN_NotAtAllSavvy    152
  20.  
  21. #define kSTR_Finder            128
  22. #define kSTR_GetInfoSubstr    129
  23.  
  24. #ifndef REZ
  25. #include <Types.h>
  26. #include <Windows.h>
  27. typedef short Integer;
  28.  
  29. enum    { noSizeRsrc = -1, notApp = -2 };    // psuedo-error
  30.  
  31. #define gCurApName    ((StringPtr)0x910)
  32.  
  33.  
  34. typedef struct {
  35.     int unused1: 1;
  36.     unsigned int acceptSuspendResumeEvents:1;    // else ignoreSuspendResumeEvents
  37.     int unused2: 1;
  38.     unsigned int canBackground:1;
  39.     unsigned int doesActivateOnFGSwitch:1;        // else needsActivateOnFGSwitch
  40.     unsigned int onlyBackground:1;                // else backgroundAndForeground
  41.     unsigned int getFrontClicks:1;
  42.     unsigned int acceptAppDiedEvents:1;            // false except for debuggers
  43.  
  44.     unsigned int is32BitCompatible:1;
  45.         /* System 7.0 stuff */
  46.     unsigned int isHighLevelEventAware:1;
  47.     unsigned int localAndRemoteHLEvents:1;        // else onlyLocalHLEvents
  48.     unsigned int isStationeryAware:1;
  49.     unsigned int useTextEditServices:1;
  50.     int unused3: 3;
  51.  
  52.     long prefMemory;
  53.     long minMemory;
  54. } TSizeStruct;
  55.  
  56. typedef pascal Handle (*GetResourceProcPtr)(OSType, short); 
  57. typedef pascal WindowPtr (*NewWindowProcPtr)(void *,const Rect *,
  58.     ConstStr255Param,
  59.     Boolean ,short ,WindowPtr ,Boolean ,long );
  60. typedef pascal void (*ShowWindowProcPtr)(WindowPtr theWindow); 
  61.  
  62. typedef struct {
  63.     GetResourceProcPtr oldGet1Resource;
  64.     NewWindowProcPtr oldNewCWindow;
  65.     NewWindowProcPtr oldNewWindow;
  66.     ShowWindowProcPtr oldShowWindow;
  67.     TSizeStruct lastSizeRsrc;
  68.     Boolean    lastSizeValid;
  69.     Boolean possibleGetInfoWindow;
  70. #ifdef qUseIconSuite
  71.     Handle    h24bitIconSuite;
  72.     Handle  h32bitIconSuite;
  73.     Handle    hUnsavvyIconSuite;
  74. #else
  75.     Handle    h24bitIcon;
  76.     Handle  h32bitIcon;
  77.     Handle    hUnsavvyIcon;
  78. #endif qUseIconSuite
  79.     Handle    hFinderNameString;
  80.     Handle    hGetInfoSubstrString;
  81. } *TGlobalsPtr;
  82.  
  83.     /* ShowInit.a */
  84. pascal void ShowINIT(Integer iconID, Integer moveX);
  85. enum { kShowInitStdOffset=-1 };
  86.  
  87.     /* Savvy.a */
  88. void StashOldTrapAddr(long OldGet1Resource, long OldNewCWindow, long OldShowWindow);
  89. pascal Handle Get1ResourceWrapper(OSType thetype, Integer theid);
  90. TGlobalsPtr GetGlobals(void);
  91.  
  92.     /* SavvyInit.c */
  93. pascal WindowPtr NewWindowTailPatch(void *wStorage,const Rect *boundsRect,ConstStr255Param title,
  94.     Boolean visible,short procID,WindowPtr behind,Boolean goAwayFlag,long refCon);
  95. pascal WindowPtr NewCWindowTailPatch(void *wStorage,const Rect *boundsRect,ConstStr255Param title,
  96.     Boolean visible,short procID,WindowPtr behind,Boolean goAwayFlag,long refCon);
  97. pascal void ShowWindowTailPatch(WindowPtr theWindow);
  98.  
  99.  
  100. #endif REZ
  101.